1. 简介
MySQL:一个开放源代码的关系数据库管理系统.
特点
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。
MySQL本身实际上只是一个SQL接口,现在MySQL唯一免费版本是 社区版(community)。
python 连接 MySQL数据库的驱动,主要有两个:
- mysql-connector-python:是MySQL官方的纯Python驱动;
- MySQL-python:是封装了MySQL C驱动的Python驱动。
2. 安装MySQL
基于Windows和python3.5的安装过程。
2.1 Windows 安装方法
MySQL安装:
(1)首先安装的是oracle的MySQL,这个去官网下载就好:MySQL官网
可以直接点下载:
或者使用ustc镜像下载;
64位windows可以下载 mysql-5.7.21-winx64.zip
版本。
(2)解压
解压的路径最好不要含中文!!!
(3)添加mysql文件夹中的bin路径到环境变量-系统变量-Path中:
(4)管理员成分初始化MySQL
在安装文件夹根目录配置my.ini
文件(比如E:\软件安装\mysql-8.0.18-winx64):
注意:.ini
文件中,端口不能改;设置自己的mysql的安装目录,数据存放目录(不用自己创建,后面程序会自动创建的)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
配置好后运行:
E:\软件安装\mysql-8.0.18-winx64\bin>mysqld --initialize --user=mysql --console
输出:
2020-11-30T11:52:32.980321Z 0 [System] [MY-013169] [Server] E:\mysql-8.0.18-winx64\bin\mysqld.exe
(mysqld 8.0.18) initializing of server in progress as process 119192
2020-11-30T11:52:45.664322Z 5 [Note] [MY-010454] [Server] A temporary password is generated for
root@localhost: 初始密码
记住初始密码!
(5)安装mysql服务
安装:
mysql-8.0.18-winx64\bin>mysqld install MySQL --defaults-file="E:\mysql-8.0.18-winx64\mysql.ini"
效果:
Service successfully installed.
(6) 启动MySQL服务
E:\mysql-8.0.18-winx64\bin>net start mysql
效果:
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
安装完毕!
其他
Mysql 8 修改密码的方式是:
先登录:
>mysql -u root -p
Enter password: ************
然后:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
(低版本的MySQL修改密码的方式, mysql> set password = password("123456");
)
启动MySQL:
net start MySQL
停止MySQL:
net stop MySQL
2.2 Centos安装方法
(1) 更新软件包管理器yum
sudo yum update
(2)下载 MySQL
选择其中一个下载:
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
(3)准备仓库
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
(4)安装MySQL
sudo yum install mysql-server
安装完成。
启动,查看MySQL
(1)启动MySQL:
sudo systemctl start mysqld
(2)查看MySQL的状态
sudo systemctl status mysqld
Centos配置MySQL
(1) 更改MySQL的 用户, 密码
查看初始化的密码:
sudo grep 'password' /var/log/mysqld.log
更改:
sudo mysql_secure_installation
然后输入初始化的密码,就可以更改了。
新密码必须是:8-12字符,包含数字,大写字母,小写字母,特殊字符!
检查MySQL的版本
mysql -u root -p
[root@bw-1 ]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
3. 安装python连接MySQL需要的驱动
根据廖雪峰网站,可以使用MySQL-python
包。
$ easy_install mysql-connector-python
$ easy_install MySQL-python
一些报错:
a.本来以为直接安装就行了,
pip install MySQL-python
然后,出错:
Failed building wheel for MySQL-python
f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RoF
un\AppData\Local\Temp\pip-17fgv45v-record\install-record.txt --single-version-ex
ternally-managed --compile" failed with error code 1 in C:\Users\RoFun\AppData\L
ocal\Temp\pip-build-p1n23luc\MySQL-python\
b.根据网上指示,需要改成install MySQL-connector
。
然后,pip install mysql-connector
,仍然出错:
Failed building wheel for mysql-connector
这个需要自己编译.whl文件
c.由于编译过于麻烦,于是下载现成的.whl 文件。
python3.5版本可以到这直接下载安装:python3.5 MySQL.whl
d.验证是否安装成功
>>> import MySQLdb
参考: